# 导包
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from time import sleep

# webDriver初始化
# driver = webdriver.Chrome()
driver = webdriver.Edge()

# 页面导航
driver.get('http://localhost:8088/ecshop/user.php?act=register')

# 窗口最大化
driver.maximize_window()
# 窗口最小化
# driver.minimize_window()

# 查找元素
driver.find_element(By.ID, 'username')

# 与页面元素交互，在网页上执行各种操作
# 第一个、输入文本函数 send_keys()
driver.find_element(By.NAME, 'email').send_keys('1234567@163.com')
# 第二个、单击函数 click()
driver.find_element(By.XPATH, '//input[@name="Submit"]').click()

# 警告框的处理
# 使用 driver 对象 调用 switch_to 方法，然后在 .(点） 调用alert方法
alert = driver.switch_to.alert
# 添加等待时间，否则关闭处理很快，看不到效果
sleep(2)
# 用返回的对象 alert 去调用 accept() 来关闭弹窗
alert.accept()

# 下拉框的处理
ele = driver.find_element(By.NAME, 'sel_question')
sel = Select(ele)
# 通过下拉选项的索引去获取（索引从0开始）
# sel.select_by_index(3)
# 通过下拉选项标签的value值定位
# sel.select_by_value('favorite_movie')
# 通过下拉选项的标签的文本内容定位（需注意文本内容的完整）
sel.select_by_visible_text('我最大的爱好？')

# 当下拉选项多选的情况下，通过索引取消选择
# sel.deselect_by_index(2)
# # 通过标签的value值取消选择
# sel.deselect_by_value('favorite_movie')
# # 通过标签文本取消选择
# sel.deselect_by_visible_text('我最大的爱好？')
# # 取消全部下拉选项
# sel.deselect_all()

# 页面等待3秒
sleep(3)
# 关闭实例化浏览器
driver.quit()